package cn.tedu.carehome.foundation.mapper;

import cn.tedu.carehome.foundation.pojo.dto.FoodPackageLinkUpdateDTO;
import cn.tedu.carehome.foundation.pojo.dto.FoodPackageUpdateDTO;
import cn.tedu.carehome.foundation.pojo.entity.FoodPackage;
import cn.tedu.carehome.foundation.pojo.entity.FoodPackageLink;
import cn.tedu.carehome.foundation.pojo.vo.*;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理餐品套餐关联物数据的Mapper接口
 *
 * @author 袁田
 * @version 0.0.1
 */
@Repository
public interface FoodPackageLinkMapper {
    /**
     * 插入套餐餐品关联物数据
     *
     * @param foodPackageLink 套餐餐品关联物数据
     * @return 受影响的行数
     */
    int insert(FoodPackageLink foodPackageLink);

    /**
     * 根据id删除套餐餐品关联物
     * @param id 关联物的id
     * @return 受影响的行数
     */
    int deleteById(Long id);


    /**
     *查询关联物列表
     * @return 由套餐对象组成的列表
     */
    List<FoodPackageLinkAdminVO> selectAdmin();
    List<FoodPackageLinkAdminVO> selectAdminByPage();

    /**
     *
     * 根据套餐id查询餐品信息列表
     *
     */

    List<FoodPackageFoodStandardVO> selectFoodByFoodPackageId(Long id);





    /**
     * 根据id查询套餐餐品关联物信息
     * @param id 请求关联物的id
     * @return 对应id的套餐关联物信息
     */

    FoodPackageLinkUpdateVO selectById(Long id);

    /**
     * 根据关联物名称统计数据的数量
     * @param id 关联物id
     * @return 匹配餐品id的餐品数据的数量
     */
    int countById(Long id);


    /**
     * 修改套餐餐品关联
     * @param foodPackageLinkUpdateDTO 客户端传来的套餐餐品关联物对象
     */
    void update(FoodPackageLinkUpdateDTO foodPackageLinkUpdateDTO);
}
